package com.nhim.cms.dao;

// default package

import java.util.List;

import com.nhim.cms.domain.ElementDefinition;
import com.nhim.core.dao.ICoreDAO;

/**
 * Interface for ElementDefinitionDAO.
 * 
 * @author Huy Lieu TA
 */

public interface IElementDefinitionDAO extends
		ICoreDAO<Integer, ElementDefinition> {

	/**
	 * Find all ElementDefinition entities with a specific property value.
	 * 
	 * @param propertyName
	 *            the name of the ElementDefinition property to query
	 * @param value
	 *            the property value to match
	 * @return List<ElementDefinition> found by query
	 */
	public List<ElementDefinition> findByProperty(String propertyName,
			final Object value);
	public List<ElementDefinition> getAvailableElementDefinition(Integer contentTypeId);
	public Integer countElementDefinitionsBySearch(final String startsWith);
	public List<ElementDefinition> findElementDefinitionEntriesBySearch(
			final String startsWith, final String orderBy);
	public ElementDefinition findByName(String name);

}